// 改文件用于创建Vuex中最为核心的store

// 引入Vue
import Vue from 'vue'
// 引入Vuex
import Vuex from 'vuex'
// 应用Vuex插件
Vue.use(Vuex)

// 准备actions-用于响应组件中的动作
const actions = {
        add(context, value) {
            // console.log('加被调用了', context, value);
            context.commit('ADD', value)
        },
        // jian(context, value) {
        //     context.commit('JIAN', value)
        // },
        ji(context, value) {
            context.commit('JI', value)
        },
        wait(context, value) {
            context.commit('WAIT', value)
        }
    }
    // 准备mutations-用于操作数据(state)
const mutations = {
        ADD(state, value) {
            state.sum += value
        },
        JIAN(state, value) {
            state.sum -= value
        },
        JI(state, value) {
            if (state.sum % 2) {
                state.sum += value
            }
        },
        WAIT(state, value) {
            setTimeout(() => {
                state.sum += value
            }, 600);
        }
    }
    // 准备state-用于存储数据
const state = {
    sum: 0,
}

// 创建并暴露store
export default new Vuex.Store({
    // actions:actions,
    actions,
    mutations,
    state,
})